package roger;

public class Garage {

	public String nom;
	public String adresse;
	private int capacite;
	private Reparation[] reparations;
	private int nbRepEnCours;

	public Garage(String nom, String adresse, int capacite) {
		this.nom = nom;
		this.adresse = adresse;
		this.capacite = capacite;
		nbRepEnCours = 0;
		reparations = new Reparation[this.capacite];
	}

	public Garage() {
		this(Util.lireChaine("Nom du garage      : "),
			 Util.lireChaine("Adresse du garage  : "),
			 Util.lireEntier("Capacit� du garage : ", "Saisissez un nombre entier !"));
	}

	public boolean ajouterRep() {
		if (nbRepEnCours==capacite) return false;
		Reparation r;
		if (Util.lireOuiNon("S'agit-il d'une moto ? ", "R�pondez \'o\' ou \'n\'"))
			r = new Moto();
		else
			r = new Voiture();
		reparations[nbRepEnCours] = r;
		nbRepEnCours++;
		return true;
	}

	public boolean supprimerRep(int i) {
		if (i < 0 || i >= nbRepEnCours)	return false;
		reparations[i] = reparations[nbRepEnCours-1];
		nbRepEnCours--;
		return true;
	}

	public String toString() {
		String res = "[[GARAGE]] nom : " + nom + " ; adresse : " + adresse;
		for (int i = 0; i < nbRepEnCours; i++)
			res += ("\n    (" + i + ") " + reparations[i]);
		return res;
	}

	public int getCapacite() {
		return capacite;
	}

	public void setCapacite(int capacite) {
		this.capacite = capacite;
	}

	public Reparation[] getReparations() {
		return reparations;
	}
	public Reparation getReparation(int index) {
		return reparations[index];
	}

	public void setReparations(Reparation[] reparations) {
		this.reparations = reparations;
	}

	public int getNbRepEnCours() {
		return nbRepEnCours;
	}

	public void setNbRepEnCours(int nbRepEnCours) {
		this.nbRepEnCours = nbRepEnCours;
	}

}
